package com.ayoka.parenting.ui.grown.detail;

import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentManager;

import com.ayoka.parenting.bean.BaseResponse;
import com.ayoka.parenting.bean.BasicUserInfoBean;
import com.ayoka.parenting.bean.ClassroomBean;
import com.ayoka.parenting.bean.ClassroomDetailBean;
import com.ayoka.parenting.interf.RequestCallback;
import com.ayoka.parenting.mvp.BasePresenter;
import com.ayoka.parenting.mvp.BaseView;

import java.util.List;

/**
 * @ProjectName: MVPPlugin.
 * @ClassName: GrownDetailContract.
 * @Description: .
 * @Author: jincp.
 * @CreateDate: 2019/10/10 18:17.
 */
public class GrownDetailContract {

    interface View extends BaseView {

        void onDialogDismiss(DialogFragment dialog);

        void onJoinClassroomCallback(boolean isSuccess);

        void configClassroomData(ClassroomDetailBean data);

        void onCreateLiveRoomCallback(boolean isSuccess, int roomId, String scheduleId);
    }

    interface Presenter extends BasePresenter<View> {
        void getClassroomDetailData(String classroomId);

        List<BasicUserInfoBean> getCoachListData();

        void showConfirmJoinDialog(FragmentManager fragmentManager, String classroomId, String coachName, int classroomType);

        void createLiveRoom(int roomId, String scheduleId);
    }

    interface Model {
        void getClassroomDetailData(BasePresenter presenter, String classroomId, RequestCallback<ClassroomDetailBean> callback);

        List<BasicUserInfoBean> getCoachListData();

        void joinClassroom(BasePresenter presenter, String classroomId, RequestCallback<BaseResponse> callback);
    }
}
